package cn.project.domain.strategy.service;

import cn.project.domain.activity.model.valobj.ActivitySkuStockKeyVO;
import cn.project.domain.strategy.model.valobj.StrategyAwardStockKeyVO;

/**
 * @author xu
 * @description 奖品库存接口，抽奖库存相关服务，获取库存消耗队列
 * @date 2025/7/8
 */

public interface IRaffleStock {
    /**
     * 获取奖品库存消耗队列
     *
     * @return 奖品库存Key信息
     * @throws InterruptedException 异常
     */
    StrategyAwardStockKeyVO takeQueueValue() throws InterruptedException;

    /**
     * 更新数据库 奖品库存消耗记录
     *
     * @param strategyId 策略ID
     * @param awardId    奖品ID
     */
    void updateStrategyAwardStock(Long strategyId, Integer awardId);
}
